package JAVA300.第十二章网络编程;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 在线聊天室：服务器端
 * ---实现多个客户可以正常收发数次消息
 * client不用怎么改 主要server端 阻塞等待及操作都带while循环
 * -------但是就得一个线程等另一个
 */

public class web05_TCP6_Chat3Server {
    public static void main(String[] args) throws IOException {

        System.out.println("--------Server-----------");
        //1。指定端口 使用ServerSocket创建服务器
        //***添加while
        while (true) {


            ServerSocket server = new ServerSocket(8888);
            //2.阻塞式的等待链接 accept
            Socket socket = server.accept();
            System.out.println("一个客户端建立了连接");
            //3接收消息
            DataInputStream dis = new DataInputStream(socket.getInputStream());
            //4返回消息
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
            boolean isRunning = true;
            while (isRunning) {
                String msg = dis.readUTF();

                dos.writeUTF(msg);
                dos.flush();
            }
            //5释放资源
            dos.close();
            dis.close();
            socket.close();
        }



    }
}
